package controllers;

import java.sql.SQLException;

import models.StatusTarefaEnum;
import models.Tarefa;
import play.mvc.Controller;

public class LogsTarefa extends Controller {

	static long copiaIdLog;

	private static Application ap = new Application();

	public static void logTarefa(long id) throws SQLException {

		ap.verificarAutenticacao();
		String user = session.get("usuario");
		String tipoUsuario = ap.checkAdmin();

		Tarefa tarefa = Tarefa.find("id", id).first();

		copiaIdLog = id;

		render(id, user, tarefa, tipoUsuario);
	}

	public static void adicionarLogTarefa(long id, int horas,
			int minutos, int porcentagem, String descricao)
			throws SQLException {
		

		if ((horas < 0) || (horas > 24) || (minutos < 0) || (minutos > 59)) {
			flash.error("Hora ou minuto inválido");
			logTarefa(copiaIdLog);
		} else {

			String data = new java.text.SimpleDateFormat(
					"dd/MM/yyyy   HH:mm:ss").format(new java.util.Date());

			Tarefa tarefa = Tarefa.find("id", id).first();

			tarefa.setHora(tarefa.getHora() + horas);

			if (tarefa.getMinuto() + minutos > 59) {
				int totalMinutos = tarefa.getMinuto() + minutos;
				int min = totalMinutos - 60;

				tarefa.setHora(tarefa.getHora() + 1);
				tarefa.setMinuto(min);

			} else
				tarefa.setMinuto(tarefa.getMinuto() + minutos);
			tarefa.setPorcentagem(porcentagem);

			String tempototal = tarefa.getHora() + "." + tarefa.getMinuto();
			tarefa.setTempoTotalTrabalho(Double.parseDouble(tempototal));

			models.LogsTarefa log = new models.LogsTarefa(descricao, data,
					horas, minutos, tarefa);

			log.save();
			tarefa.save();

			flash.success("Log Cadatrado para a tarefa " + tarefa.getId());
			controllers.Tarefas.quadroTarefasFuncionario();

		}

	}
}
